iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 0
0
自我挑戰組

我的 Git 學習歷程系列 第 19

變更系列-5:如何讓 Git 忽略檔案? (VSCode 篇)

  • 分享至 

  • xImage
  •  

角色情境

小明同時學會輸入指令操作著終端機、
以及透過滑鼠操作著圖像化介面的 Sourcetree 軟體,
又完成一項如何操作 Git 的概念,信心也逐漸大增。

小明:「完成了。目前學到新增、修改、刪除和還原。」
小明:「不過,我很好奇,有辦法讓 Git 忽略特定的檔案嗎?」
小華:「哇~越來越會提問問題了呢~」
小華:「嗯...我來想想要怎麼說明...」
小華:「不過,要注意的是忽略的檔案狀態必須是 「Unstaged files」...」


.gitignore 是什麼?

Git 官方網站的敘述是
「A gitignore file specifies intentionally untracked files that Git should ignore. Files already tracked by Git are not affected.」,
簡單來說,就是
「Git 根據 gitignore 檔案的配置忽略掉特定的檔案,而不被紀錄;但是如果已經被 Git 跟蹤的檔案再放入 gitignore 檔案就不能生效了」。


什麼類型的檔案會需要放入 gitignore 檔案呢?

gitignore 檔案最主要的目的是「排除特定檔案,不列入版本控管」。
這邊所指的特定檔案,像是:
(1) 比較機密的檔案,例如:Google Maps API Key、資料庫的存取密碼。
(2) 透過讀取 package.json 的 dependencies 欄位紀錄,npm 就能安裝的檔案,例如:node_modules。
(3) 不需要被追蹤的系統檔案,例如:Mac OS 作業系統的 .DS_Store。


如何看懂 gitignore 檔案的配置規則呢?

Git 依照 gitignore 檔案由上至下的順序配置,進行忽略。
以 Vue CLI 的 .gitignore 當作範例:

.DS_Store
node_modules/      // 斜線 / 表示目錄
/dist/
npm-debug.log*     // 星號 * 匹配多個字母
yarn-debug.log*
yarn-error.log*

其他的配置規則,包含:
(a) 問號 ? 匹配單個字母。
(b) 括號 [ ] 匹配特定字母的列表。
(c) 驚嘆號 ! 表示不忽略匹配到的目錄或檔案。

接下來,又要學習什麼呢?


參考來源

(1) 高見龍 -【狀況題】有些檔案我不想放在 Git 裡面…
(2) Will 保哥 - 第 19 天:設定 .gitignore 忽略清單
(3) David Wu - gitignore 大小事
(4) Git 官方網站 - gitignore
(5) 程式前沿 - Gitignore 總結


上一篇
變更系列-4:如何退回至指定的 Commit?
下一篇
分支系列-1:為何使用分支?
系列文
我的 Git 學習歷程32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言